// 发布者
import { IPublisher, IBroker } from "./Interface";

export class Publisher implements IPublisher {
  private broker: IBroker;
  constructor(broker: IBroker) {
    this.broker = broker;
  }

  // 发布消息的方法
  // 要发布具体的消息，我们只需要将消息交给中间人即可
  publish(topic: string, message: string): void {
    console.log(`发布者发了一个${topic}主题的消息：${message}`);
    // 通知中间人向指定主题发布消息
    this.broker.publish(topic, message);
  }
}
